Image converting device and image converting system

ABSTRACT

Means which enables image conversion in which a plurality of conversion results can be output without once saving all of video-image data, which has been input from image-pickup means, in a storage medium is provided. A single line memory having a plurality of lines is used while switching the role thereof for a reading use by a video-image converting means and a use for inputting image data from the image-pickup means. The image converting means obtains an input image, which is in the line memory, and carries out conversion of the input image based on a conversion specifying means interpreted by an instruction decoder.

CROSS-REFERENCE TO RELATED APPLICATION

The present application claims priority from Japanese Patent ApplicationNo. 2010-161796 filed on Jul. 16, 2010, the content of which is herebyincorporated by reference into this application.

TECHNICAL FIELD OF THE INVENTION

The present invention relates to an image converting device and an imageprocessing method. More particularly, the present invention relates toobtaining various transform images at a high speed with respect to imagedata obtained from image-pickup means.

BACKGROUND OF THE INVENTION

Recently, a vehicle-mounted system equipped with a plurality of imageinput devices is disseminating. For example, there is a system in whichcameras are installed on the front, back, left, and right of anautomobile, respectively, and all of the surrounding environments areshown to a user, who is a driver, by video images to enhance safetyduring driving.

In such a system, sometimes, the images viewed from a virtual viewpoint(for example, video images as if looking down from above the vehicle)are generated in order to display more easy-to-understand images to theuser. In this process, each of the input images has to be subjected toconversion processing so as to form the images viewed from the virtualviewpoint.

Moreover, not only the images like those of the look-down conversion,but also the images which have undergone correction of lens distortionare also required in order to facilitate image processing. Also in thiscase, the images have to be subjected to conversions as preprocessing.In this manner, obtaining the transform images corresponding to uses isrequired as needs. The number of the usages is not always limited toone; for example, it is required to obtain the look-down images to beshown to the user and distortion-corrected images for carrying out imageprocessing from one input image.

As a configuration that obtains the transform images, for example, aconfiguration in which an image-pickup device, correcting means, and astorage medium are mutually connected via a bus is conceivable asdescribed in Japanese Patent Application Laid-Open Publication No.2003-333588 (Patent Document 1).

In Japanese Patent Application Laid-Open Publication No. 2001-145012(Patent Document 2) and Japanese Patent Application Laid-OpenPublication No. 2007-114923 (Patent Document 3), a small-volume bufferis provided between an image-pickup device and correcting means toprovide a measure for shortening the processing time that is taken fromvideo-image input to image conversion.

SUMMARY OF THE INVENTION

Meanwhile, when a detection delay occurs during driving of anautomobile, an accident may be caused in many cases. Therefore, in animage processing device like the one mounted in an automobile, areal-time property is sometimes required like obstacle detection.

The technique described in Patent Document 1 has the configuration inwhich the image data input from the image-pickup device is once saved inthe storage medium via the bus, and the image data is converted by animage converting device. This configuration has a problem that, intotal, three times of image data transfer occur from the image-pickupdevice to the storage medium, from storage medium to the imageconverting device, and from the image converting device to the storagemedium, wherein the load on the bus is large. Moreover, the image datacorresponding to one frame is once saved in the storage medium and thenactivated by the image converting device; therefore, the processing timeis taken from acquisition of the image by the image-pickup device untilthe image is converted by the image converting device.

In the techniques of Patent Document 2 and Patent Document 3, asmall-volume buffer is provided between the image-pickup device and theimage converting device, and the data that comes in from theimage-pickup device is sequentially input to the image convertingdevice. Therefore, the data transfer in Patent Document 1 from theimage-pickup device to the storage medium and from the storage medium tothe image converting device is eliminated, the load on the bus can bereduced, and the processing time taken from the image input to the imageconversion can be also shortened. However, flexible conversions likeoutputting a plurality of images at one time from one input image orchanging the setting of the converting device during image conversioncannot be carried out.

It is a preferred aim of the present invention to provide a device thatenables image conversion capable of outputting a plurality of conversionresults without once saving all of video-image data, which has beeninput from an image-pickup device, into a storage medium.

The above and other preferred aims and novel characteristics of thepresent invention will be apparent from the description of the presentspecification and the accompanying diagrams.

The typical ones of the inventions disclosed in the present applicationwill be briefly described as follows.

An image converting device according to a typical concept of theembodiments of the present invention includes: an image input devicethat obtains input image data; an image converter that executesoperation about image conversion in accordance with two or moreinstructions defining the operation; a line memory used in transmissionand reception of data between the image input device and the imageconverter; and a conversion specifier that describes a correspondingrelation between the input image data obtained into the line memory bythe image input device and converted image data after conversion, inwhich the conversion specifier is described by combining theinstructions, and the operation or an output destination of the imageconverter is specified or changed during operation by interpreting theinstructions.

In the image converting device, the image converter may be configured togenerate a plurality of images with respect to the input image data inthe line memory.

The image converting device may further comprise a synchronizer thatsynchronizes image input to the line memory with the image converter inaccordance with a waiting instruction that specifies input wait of theimage data input to the line memory, in which the waiting instruction ispresent as an instruction of the two or more instructions defining theoperation.

In the image converting device, the image converter may be configured toread the input image data from any position in the line memory.

In the image converting device, two or more types of the conversionspecifiers may be configured to be disposed in a general-purpose storagemedium, and one of the two or more types of the conversion specifiers inthe general-purpose storage medium may be configured to be selected foruse.

In the image converting device, the conversion specifier may beconfigured to be programmed by a general-purpose computing unit.

The image converting device may further comprise a video-image displayby which a plurality of conversion results with respect to onevideo-image input are output.

In the image converting device, the conversion specifier describescorrespondence between one region of the input image data and one regionof the converted image data by triangle patches, bases of two or more ofthe triangle patches of an input side are aligned to form a strip-likeshape, and two or more of the triangle patches of the converted imagedata have variable shapes.

An image converting system according to a typical concept of theembodiments of the present invention comprises two or more imageconverting devices, each of the image converting devices including animage input device, an image converter, and a line memory, in which thetwo or more image converting devices output conversion results to astorage medium common to each other while synchronizing with each other.

An image converting system according to another typical concept of theembodiments of the present invention comprises two or more imageconverting devices, each of the image converting devices including animage input device, an image converter, and a line memory, in which theimage converting system further includes a video-image display, and thetwo or more image converting devices output conversion results to thevideo-image display while synchronizing with each other.

When the image converting device according to the present invention isused, flexible conversion can be carried out with a small amount of theline memory.

Moreover, when the image converting device according to the presentinvention is used, various transform images can be obtained at a highspeed.

When the plurality of image converting devices according to the presentinvention are combined, various applications can be carried out withrespect to the image output.

BRIEF DESCRIPTIONS OF THE DIAGRAMS

FIG. 1 illustrates a block diagram illustrating usage environment of animage converting device according to a first embodiment of the presentinvention;

FIG. 2A illustrates a conceptual diagram illustrating an input image;

FIG. 2B illustrates a conceptual diagram illustrating adistortion-corrected image;

FIG. 2C illustrates a conceptual diagram illustrating an overhead viewimage;

FIG. 3A illustrates a conceptual diagram illustrating a basic example ofa conversion using triangle patches for input;

FIG. 3B illustrates a conceptual diagram illustrating a basic example ofa conversion using triangle patches for output;

FIG. 4 illustrates a conceptual diagram illustrating an example of theconversion using the triangle patches;

FIG. 5 illustrates an example of a description of a triangle patch ofconversion specifier;

FIG. 6 illustrates an example of a description of triangle patchesdescribed in a form that a part of the conversion of FIG. 4 is omitted;

FIG. 7 illustrates a diagram illustrating which part of FIG. 4 iscorresponding to the description of the triangle patches of FIG. 6;

FIG. 8 illustrates a diagram illustrating details of an image conversionprocessing unit;

FIG. 9 illustrates a conceptual diagram about a conversion list whichconverts a single input image to a plurality of output images;

FIG. 10 illustrates an explanatory diagram of an outline of a linememory;

FIG. 11 illustrates a diagram facilitating the explanation of linearinterpolation;

FIG. 12 illustrates a conceptual diagram illustrating a configuration inwhich viewpoint conversion is sequentially carried out;

FIG. 13 illustrates a block diagram illustrating a configuration exampleof an image converting system equipped with a plurality of the imageconverting devices; and

FIG. 14 illustrates a conceptual diagram illustrating a configuration ofa surrounding-area display system using the configuration of the imageconverting system of FIG. 13 equipped with the plurality of imageconverting devices.

DESCRIPTIONS OF THE PREFERRED EMBODIMENT

In the embodiments described below, the invention will be described in aplurality of sections or embodiments when required as a matter ofconvenience. However, these sections or embodiments are not irrelevantto each other unless otherwise stated, and the one relates to the entireor a part of the other as a modification example, details, or asupplementary explanation thereof. Also, in the embodiments describedbelow, when referring to the number of elements (including number ofpieces, values, amount, range, and the like), the number of the elementsis not limited to a specific number unless otherwise stated or exceptthe case where the number is apparently limited to a specific number inprinciple. The number larger or smaller than the specified number isalso applicable.

Hereinafter, an embodiment of the present invention will be describedwith reference to the diagrams.

First Embodiment

FIG. 1 is a block diagram illustrating usage environment of an imageconverting device 1001 according to a first embodiment of the presentinvention.

Image-pickup means 1002 such as a camera is connected to the imageconverting device 1001 via a video I/F.

The image-pickup means 1002 is image-input means which outputs digitalimage data, which is obtained by image pickup per line to the imageconverting device 1001. The properties of obtained images such as stillimages, moving images, infrared images, and temperature distributionimages are not limited as long as the input images most appropriate forobtaining output images can be obtained.

The internal configuration of the image converting device 1001 includesa line memory 1003, an image conversion processing unit 1004, a buffer1005, and an instruction decoder 1006.

The line memory 1003 is a storage medium such as a RAM having a capacityfor saving several lines to several tens of lines of line data.

The image conversion processing unit 1004 reads arbitrary positions ofthe data stored in the line memory 1003 and carries out conversion ofthe image data by means specified by general-purpose computing means1010 via the instruction decoder 1006. The image conversion processingunit 1004 outputs converted image data to the buffer 1005, which is in asubsequent stage.

The buffer 1005 is a storage medium such as a RAM, which is used forprimary storage of the data when the converted image data is to beoutput to outside via a bus 1008. The converted image data is stored atan appropriate position in the buffer 1005 and output to a storagemedium 1007 and video-image displaying means 1011, which will bedescribed later.

The instruction decoder 1006 is a decoder circuit, which decodesconversion instructions notified via the bus 1008 and transmitsconversion contents of the instructions to the image conversionprocessing unit 1004.

The bus 1008 is a general-purpose bus for connecting the imageconverting device 1001 and the outside of the image converting device1001 to each other.

The image converting device 1001 is connected to the storage medium1007, the general-purpose computing means 1010, and the video-imagedisplaying means 1011 via the bus 1008.

The storage medium 1007 is a non-volatile or/and volatile storage mediumstoring conversion specifying means 1009 according to the presentinvention, in addition to a program for operating the general-purposecomputing means 1010. The conversion specifying means 1009 is saved inthe general-purpose storage medium 1007; therefore, the data therein canbe subjected to read/write also from the general-purpose computing means1010, the video-image displaying means 1011, etc.

The conversion specifying means 1009 is a description about thecorresponding relations of input images and output images (instructionset). The present embodiment presupposes usage of conversionspecification based on triangle patches. In the conversionspecification, images are divided into small regions of fine triangles,and corresponding relations of the vertices of the image beforeconversion and the image after conversion are described. The conversionspecifying means 1009 can specify a plurality of after-conversionvertices (triangle patches) with respect to one before-conversion vertex(triangle patch) in the line memory.

A central processing unit such as a CPU is presupposed as thegeneral-purpose computing means 1010.

The video-image displaying means 1011 is video-image displaying meanssuch as a flat panel display or a head-up display. This case alsopresupposes the case in which video images converted by the imageconverting device 1001 are to be output.

Next, the way how processing is carried out will be explained based onFIG. 1.

When the image conversion processing unit 1004 detects that thebefore-transform image data necessary for conversion has beenaccumulated in the line memory 1003, the image conversion processingunit 1004 reads the before-transform image data and starts imageconversion. The “image conversion” referred herein means a conversionprocess like the one illustrated in FIGS. 2A, 2B, and 2C.

FIGS. 2A, 2B, and 2C illustrate conceptual diagrams illustrating aninput image, a distortion-corrected image, and an overhead view image tothe present invention, respectively. In the diagrams, FIG. 2Aillustrates image data which is obtained by the image-pickup means 1002and has not been changed. FIG. 2B illustrates the converted image afterlens distortion correction of the image-pickup means 1002. FIG. 2Cillustrates a converted image based on a looking-down from athird-person viewpoint that has a viewpoint up in the air.

The conversion from FIG. 2A to FIG. 2B is specified by sending aninstruction, which is defined in the conversion specifying means 1009,to the instruction decoder 1006.

The instruction decoder 1006 receives the conversion specifying means1009 recorded in the storage medium 1007. In this process, thegeneral-purpose computing means 1010 reads an appropriate instruction ofthe conversion specifying means 1009 and outputs the instruction to theinstruction decoder 1006. The instruction decoder 1006 decodes thereceived instruction and outputs the instruction to the image conversionprocessing unit 1004. The image conversion processing unit 1004 executesa conversion process based on the decoded instruction.

Next, image conversion using the triangle patches will be described asan example of the present embodiment. FIGS. 3A and 3B illustrateconceptual diagrams illustrating a basic example of the conversion usingthe triangle patches. FIG. 3A illustrates an image input to the imageconversion processing unit 1004. FIG. 3B illustrates an image outputfrom the image conversion processing unit 1004.

In the input image of FIG. 3A, two triangle patches 3002 and 3003 arepresent. The vertices of the triangle patch 3002 are composed ofvertices 3004, 3006, and 3007. The vertices of the triangle patch 3003are composed of vertices 3004, 3005, and 3006.

These two triangle patches 3002 and 3003 are converted by the imageconversion processing unit 1004 to triangle patches 3009 and 3010 of theoutput image of FIG. 3B.

Regarding the correspondence of the vertices, the vertices 3004 to 3007of the input image correspond to vertices 3011 to 3014 of the outputimage.

Various conversions are carried out by using such triangle patches. FIG.4 illustrates conceptual diagrams illustrating an example of theconversion using the triangle patches. In these diagrams, obtainingdifferent output images from one input image 4001 by two conversionmethods is conceived. Note that the input/output images illustrated fromFIG. 4 to FIG. 7 are divided into strips by broken lines. Each of thestrips represents single line data on the image.

An output image 4003 presupposes the conversion in which the distortionof the image of the input image 4001 is corrected by using a lens havingbarrel-shaped distortion. On the other hand, an output image 4005 isprocessed to reduce the vertical length (=height) of the input image4001 by half and a result is output.

The “barrel-shaped distortion” refers to distortion which bulges like abarrel more in the outer side than at the center of the image, forexample, like the image of FIG. 2A.

First, the input image 4001 is presupposed, and the input image isdivided by triangle patches as illustrated in the diagram. The verticesof the triangle patches are converted to form new triangle patches onthe virtual output image 4003 so as to correct the barrel-shapeddistortion. The triangle patch on the input image (herein, the trianglepatch 4002 of the input image 4001) and the triangle patch on the outputimage (herein, the triangle patch 4004 of the output image 4003)correspond to each other one-to-one.

This example is a conversion in which one output image is formed withrespect to one input image. However, converting two or more outputimages from one input image is also conceivable. In FIG. 4, the outputimage 4005 is also described in addition to the output image 4003. Thispresupposes that two or more output images are to be obtained fromabove-described single input image. In this case, the triangle patch4002 of the input image 4001, the triangle patch 4004 of the outputimage 4003, and a triangle patch 4006 of the output image 4005 arecorresponding mutually.

To convert two or more output images from a single input image in thismanner, the correspondence of the conversion of the one-to-multipletriangle patches has to be also described in the conversion specifyingmeans.

FIG. 5 illustrates an example of the description of a triangle patch ofthe conversion specifying means 1009.

The correspondence between the triangle patches is specified by aTRIANGLE command 5001. A row 5001 to a row 5007 of FIG. 5 are thedescriptions specifying the corresponding relation. A row 5002, a row5004, and a row 5006 are specifying the coordinates of an input image(SRC). On the other hand, a row 5003, a row 5005, and the row 5007 arerepresenting the coordinates of an output image (DST). In the diagram,each of x# and y# (# represents an integer of 1 or larger) representsthe coordinates of one vertex. The rows having equal # represent a pair.

Conversion is described by repeating the TRIANGLE command andspecification of vertices. However, the method of describing trianglepatches is not limited to this.

For example, continuous triangle patches sometimes share the coordinatesof two vertices like FIGS. 3A and 3B. Therefore, in such a case, it isdesirable to use a command form that omits the redundancy of theoverlapping part.

FIG. 6 illustrates an example of the description of triangle patchesdescribed in the form that a part of the conversion of FIG. 4 isomitted. FIG. 7 illustrates a diagram illustrating which part of FIG. 4is corresponding to the description of the triangle patches of FIG. 6.

The description of the triangle patches of FIG. 6 corresponds to theconversion from a conversion object 7001 (a range of the input image4001) to a converted object 7002 (a range of the output image 4003) anda converted object 7003 (a range of the output image 4005) of FIG. 7.

In the description of the triangle patches, the correspondence of threevertices (rows 5002 to 5007 of FIG. 5) is omitted by ellipses.

In the conversion of FIG. 7, the conversion object 7001 includes eighttriangle patches. Therefore, in the description of the triangle patchesof FIG. 6, the description corresponding to these eight triangle patchesis required. Therefore, eight TRIANGLE commands are required. Also inFIG. 6, eight TRIANGLE commands are present (6002 in FIG. 6).

A SYNC command is described at the end of FIG. 6. This command is acommand that causes the image conversion processing unit 1004 to waituntil a specified number of lines of video-image input are separatelyinput. As a conceivable method, the number of lines waited by the SYNCcommand is defined in advance or individually set for each SYNC command.However, in FIG. 6, the number of lines waited by the SYNC command is aconstant number.

The number of the lines waited by the SYNC command is hereinafterdescribed as READ_LINES. The SYNC command causes the processing of theimage conversion processing unit 1004 to wait until a video-image inputof a line obtained by adding READ_LINES to the line at the point ofissuing an immediately-before SYNC command is finished.

In other words, a next command of the SYNC command is not executed untilthe line input corresponding to the value of READ_LINES is finished.

Other than the TRIANGLE commands and the SYNC command, the conversionspecifying means 1009 includes a SYNCF command which detects the end ofinput of one frame, a WRITE command which changes set values of imageconverting means such as a read line number specifying means, an INTcommand which notifies the general-purpose computing means of aninterrupt, and an END command indicating the end of conversionspecification.

The image converting device of the present embodiment enables flexibleusage methods by the group of these instructions of the conversionspecifying means 1009.

The group of these instructions of the conversion specifying means 1009is interpreted by the instruction decoder 1006. The interpreted contentsare reflected to the image conversion processing unit 1004.

FIG. 8 is a diagram illustrating details of the image conversionprocessing unit 1004. With reference to FIG. 8, the configuration thatrealizes management of the coordinates of the SYNC command and theTRIANGLE command will be described.

The image conversion processing unit 1004 includes synchronizationcontrol means 8000, line memory address generating means 8005, outputimage offset specifying means 8006, conversion list specifying means8007, conversion mode specifying means 8008, and a patch converting unit8009. Moreover, the synchronization control means 8000 includes the readline number specifying means 8001, initial read line number specifyingmeans 8002, a line input number counter 8003, and next synchronizationwaiting line specifying means 8004.

The read line number specifying means 8001 is a module which specifiesREAD_LINES.

The initial read line number specifying means 8002 is a module whichspecifies how many line inputs are waited for from the start ofvideo-image input.

The synchronization control means 8000 synchronizes the line memory withthe image converting means by utilizing the information items. In thisprocess, the line input number counter 8003 and the next synchronizationwaiting line specifying means 8004 are provided.

The line input number counter 8003 has a function of retaining thenumber of already-input lines by, for example, receiving verticalsynchronization signals, etc. from the image-pickup means 1002.

The next synchronization waiting line specifying means 8004 is a buffermodule which retains lines to be waited for upon issuing a next SYNCcommand. The initial value of the next synchronization waiting linespecifying means 8004 uses a value specified by the initial read linenumber specifying means 8002. When a SYNC command is issued, the lineinput number counter 8003 and the next synchronization waiting linespecifying means 8004 are compared with each other, and the processingof the image conversion processing unit 1004 is kept waiting until theline input number counter 8003 reaches the line specified by the nextsynchronization waiting line specifying means 8004.

When the values of both of 8003 and 8004 become equal, the processing ofthe image conversion processing unit 1004 is resumed. When described inother words as the case of the conversion specifying means, a nextcommand of the SYNC command is executed. Herein, the synchronizationmeans is provided in the image converting means; however, the allocationthereof is not limited to that of the present embodiment. For example, aconfiguration in which the synchronization specifying means is retainedoutside of the image converting means is also conceivable.

The SRC vertex coordinates described in the TRIANGLE command are thecoordinates of a vertex of a virtual input image as described above.Therefore, the image converting device has to once convert thecoordinates to the coordinates in the line memory.

In this conversion, for example, the consistency between the coordinatesand the address in the line memory 1003 can be achieved by checking theline input number counter 8003. The line memory address generating means8005 carries out management of these processes.

As a result of providing such means of coordinate conversion in theinterior, the user at an external device is enabled to describe theconversion specifying means without worrying about the address in theline memory 1003.

By using the thus-converted vertex coordinates of the input side, theimage in a triangle patch is read from the line memory 1003 to the patchconverting unit 8009 in the image converting means and is subjected toconversion. Also regarding the output side, the DST coordinatesdescribed in the TRIANGLE command do not specify an address in thememory space of an output destination; therefore, an address offset hasto be added to the coordinates. The output image offset specifying means8006 is means which manages the offset.

In this manner, the image converting means manages the image address ofthe output destination.

The conversion list specifying means 8007 retains the address of aconversion list, which is on the storage medium, and specifies theconversion list to be read by an instruction decoder. An initial valueof the conversion list specifying means 8007 is set by using ageneral-purpose computing device, etc.

A conversion list for converting a single image to a plurality of imagesby using a command group of the above-described conversion specifyingmeans 1009 in the manner illustrated in FIG. 4 and FIG. 7 will bedescribed with reference to FIG. 9.

FIG. 9 is a conceptual diagram about a conversion list 11001 whichconverts a single input image to a plurality of output images.Hereinafter, a flow of an actual conversion will be explained by usingthe conversion list 11001. Note that, herein, the number of lines of theline memory 1003 is assumed to be 10. However, the number is not limitedto this one.

The address of the conversion list 11001, which is on the storagemedium, is set in the conversion list specifying means 8007 so that theimage conversion processing unit 1004 can read conversion instructionsfrom the address. Values set in the read line number specifying means8001 and the initial read line number specifying means 8002 are 3 and 5,respectively.

A row “a” and a row “b” in FIG. 9 are commands of carrying out theseinitial settings. The row a is a WRITE command of the setting of theinitial value with respect to the read line number specifying means8001. The row b is a WRITE command for the setting of the initial valuewith respect to the initial read line number specifying means 8002. Inthe diagram, the numbers on the diagrams appended to the presentspecification are used like 8001 and 8002 for the sake of convenience;however, denoting them by names for facilitating description does notcause any problem.

When the image converting means is activated in this state, the imageconverting means autonomously reads the conversion list 11001 from theaddress specified by the conversion list specifying means 8007, and theinstructions thereof are interpreted and executed by the instructiondecoder 1006.

The set values are reflected to the read line number specifying means8001 and the initial read line number specifying means 8002 by the twoWRITE commands of the row a and the row b of FIG. 9, and the imageconversion processing unit 1004 is caused to be in a waiting state by anupcoming SYNC instruction.

Herein, an outline of the line memory 1003 will be described. FIG. 10 isan explanatory diagram of the outline of the line memory 1003.

As is already described, the line memory 1003 has ten lines. In FIG. 10,the numbers 9001 to 9010 are allocated to the lines, respectively.

The input from the image-pickup means 1002 to the line memory 1003 iscarried out by the number corresponding to the number of the linesspecified by the row b of FIG. 9 (step S9011). When the process of stepS9011 is finished, the synchronization control means 8000 detects thatby the above-described configuration and resumes the process of theimage conversion processing unit 1004. Also in the example of thisdiagram, line data of an image has already been input to the five rowsfrom the line 9001 to the line 9005.

When a notification about the synchronization is given, a process of anext command group 11002 of the conversion list 11001 is executed. Thecommand group 11002 is describing the conversion from the conversionobject 7001 to the converted object 7002 of FIG. 7. In the command group11002, the eight necessary TRIANGLE commands are omitted by ellipses forthe sake of convenience.

According to a first WRITE command of the command group 11002, an offsetDST_A of an in-storage-medium address of an output image A, which is inthe storage medium, is written to the output image offset specifyingmeans 8006, thereby specifying an output destination.

Next, the TRIANGLE commands are executed to carry out conversion oftriangle patches. As the accessed line memory, the lines 9001 to 9005,wherein image input has already been finished, are the object.

The line memory serving as the object is assumed to have been convertedfrom the coordinates specified by the TRIANGLE commands by the linememory address generating means 8005.

The output image data of the triangle patches read from the line memoryis converted to triangle patches of the output image side by the patchconverting unit 8009. The output data is output to the buffer (cache) inaccordance with the address offset specified by the output image offsetspecifying means 8006.

In this manner, read, decode, and execution of the TRIANGLE instructionsof 6002 in FIG. 6 are repeated to obtain output.

When the eight TRIANGLE commands for distortion conversion are finished,eight TRIANGLE commands for a through image are executed subsequently.This corresponds to a command group 11003 of FIG. 9, which is describingthe conversion from the conversion object 7001 to the converted object7003 in FIG. 7.

First, according to a WRITE command, an offset DST_B of anin-storage-medium address of an output image B, which is in the storagemedium, is written to the output image offset specifying means 8006,thereby specifying an output destination again.

Then, the image converting means continues processing until a SYNCMcommand and starts a waiting state again.

In this manner, a plurality of pieces of output triangle patch data canbe obtained at the same time from a single piece of input triangle patchdata.

The reason of using five lines being more than three lines, which is avertical size of the triangle patch of the input side, is thatperipheral pixels are required as an interpolation process upongeneration of the triangle patches of the output side. In the presentembodiment, linear interpolation is presupposed as the interpolationprocess. FIG. 11 is a diagram facilitating the explanation of the linearinterpolation.

The linear interpolation is a method in which, if coordinates 10001cannot be specified by integers like FIG. 11, pixel values at thespecified coordinates are obtained by using pixel values of surroundinginteger coordinates 10002 to 10005.

A definitional equation of the interpolation process is shown below.I(x,y)=([x]+1−x)([y]+1−y)f([x],[y])+([x]+1−x)(y−[y])f([x],[y]+1)+(x−[x])([y]+1−y)f([x]+1,[y])+(x−[x])(y−[y])f([x]+1,[y]+1)  [Expression1]

I(x,y) represents the pixel values desired to be obtained, and f(x,y)represents a reference image. The symbol of parentheses [ ] is a Gausssymbol, wherein a maximum integer value not higher than the value in [ ]is returned. However, the interpolation method is not limited to thelinear interpolation, and a method using the nearest neighbor method orthe bicubic interpolation is also conceivable.

Also during the period in which these conversion processes are beingcarried out, input of image data from the image-pickup means to the linememory 1003 is continued.

The input lines are those subsequent to the line 9006. When avideo-image input to the line 9008 is completed, the synchronizationcontrol means 8000 detects that again and executes a next command in theconversion specifying means (step S9012 of FIG. 10). The detected linesare three based on the value defined in the read line number specifyingmeans 8001. In the conversion list 6001, the part after the SYNC commandis omitted. However, the conversion processes of the patch groupssubsequent to the converted object 7002 (the range of the output image4003) and the converted object 7003 (the range of the output image 4005)of FIG. 7 are carried out. As well as 6002 in FIG. 6, the conversionspecification thereof is specified by 16 TRIANGLE commands and one SYNCcommand. The image converting means executes the TRIANGLE commands fordistortion conversion and the TRIANGLE commands for a through image,outputs results of changes to the buffer, and then waits the finish ofthe input to the next three lines of the line memory according to a SYNCcommand. The line memory used in this conversion is the five lines from9004 to 9008. On the other hand, the line data of the image output fromthe image-pickup means is input to the next line 9009 and the line 9010,and the data then returns and be input to the line 9001 (S9013 of FIG.10).

In other words, the line memory 1003 is used as a ring buffer.

In this manner, the line memory is used while switching the role thereofto the use for reading by the video-image converting means and the usefor inputting the image data from the image-pickup means.

These processes are repeated, and two images can be finally obtained atthe same time from the single image.

The size of the buffer (cache) 1005 is not big enough to retain all ofoutput images. Therefore, at the point when a set of the converted dataoutput from the image conversion processing unit 1004 is organized, thedata is output to an image region 1012 in the storage medium 1007 and/orto the video-image displaying means 1011 such as a display. The buffer1005 has a TLB (translation look-aside buffer), for example, like ageneral cache, thereby ensuring the output to, for example, the imageregion 1012 having a large size by using the small-size buffer.

In the present embodiment, as illustrated in FIG. 7, the vertical sizeof the triangle patches of the input side is fixed, and the laterallines thereof are aligned, thereby restricting them so that they arearranged like strips. On the other hand, the shapes of the trianglepatches of the output side are variable. This is for efficiently using asmall amount of the line memory and suppressing the necessary number ofthe lines of the line memory.

Conversely, it is also conceivable to cause the input side to havevariable shapes and cause the output side to have fixed shapes. When theconversion from an input image to an output image is carried out withthis style, the lines to be referenced are not limited; therefore, alarger width of the line memory is required. On the other hand, if anattempt to limit the width of the line memory is made, the flexibilityof the conversion is lost. Therefore, in the present embodiment, thesizes of the input side are fixed, and the shapes of the patches of theoutput side are arbitrary; as a result, flexible conversion can becarried out with a minimum number of the lines of the line memory.

However, the conversion specifying method is not limited to this, butmay be a method in which, for example, both of the input and outputsides have variable shapes depending on the use thereof or only one sideof them has variable shape.

The conversion of generating the plurality of output triangle patchesfrom the same single input triangle patch has been described here;however, the conversion is not limited to this. Mutually different inputtriangle patches may be used in one image conversion and in anotherimage conversion.

As described above, the setting of the image conversion processing unit1004 can be rewritten by a WRITE command. For example, whether an inputimage is to be treated as a color video-image or a grayscale image maybe specified by the conversion mode specifying means 8008. In this case,for example, a color image can be output as the image of one side, and agrayscale image can be output as the image of the other side at a highspeed while switching the modes using the function of the WRITE command.

Moreover, it is assumed that means capable of specifying the processingmodes of contrast adjustment and noise reduction is present in the imageconversion processing unit 1004. In this case, both of the images, i.e.,an image which has undergone the contrast adjustment and an image whichhas undergone the noise reduction can be generated from one image inputat a high speed by using the WRITE command.

In other words, although the conversion of the shapes of the images suchas distortion correction has been described as an example in the presentembodiment, it can be understood that the role played by the imageconverting means is not limited to that.

The conversion specifying means is saved in the storage medium and canbe rewritten by the general-purpose computing means. Moreover, the imageconversion specifying means can specify arbitrary conversion specifyingmeans. By virtue of these two characteristics, the image convertingdevice can carry out image conversion in accordance with a situationwith saving the memory.

For example, the case in which the positions of the viewpoints ofcameras are sequentially switched as illustrated in FIG. 12 can bepresupposed as the image conversion in accordance with the situation.FIG. 12 is a conceptual diagram illustrating the configuration in whichthe viewpoint conversion is sequentially carried out.

In this case, two conversion specifying means (conversion lists) areprepared. In a conceivable method, while one of them is being processedby the image converting means, the other description is rewritten andrealized by general-purpose computing means.

In an existing method, if ten positions are required as the positions ofthe viewpoints of the cameras, they are used while carrying out tentimes of the programming. If the conversion specifying means has aconfiguration which is fixed and cannot be changed, ten conversion listshave to be prepared. Furthermore, generating the images which aredifferent from the viewpoint transform images is taken intoconsideration; and, if the number of the required different images isten depending on the situation, 100 conversion lists have to be preparedin total because of the combinations of all of them, and there is a riskof large consumption of the memory region.

The present configuration is a configuration that avoids this risk.

Moreover, what has been described in the present embodiment is theconfiguration in which the number of each of the constituent elements ofthe image converting device is one. However, the configuration is notlimited thereto, and possible arrangements include, for example,providing a plurality of image-pickup means 1002 connected to the imageconverting device 1001, increasing the number of the lines of the linememory 1003, and providing a plurality of line memories 1003 per se.Moreover, a configuration having a plurality of image converting devices1001 per se is also conceivable.

FIG. 13 is a block diagram illustrating a configuration example of animage converting system equipped with a plurality of the imageconverting devices.

An image converting device 14005 is connected to an image-pickup means14001 one-to-one. Similarly, an image converting device 14006 isconnected to an image-pickup means 14002, an image converting device14007 is connected to an image-pickup means 14003, and an imageconverting device 14008 is connected to an image-pickup means 14004. Theinput images picked up by these image-pickup means are input to thecorresponding image converting means. The conversion contents of theimage converting devices are specified respectively in accordance withthe specifications of conversion specifying means 14009 to 14012. Eachof the image converting means converts the input image in accordancewith the conversion method specified by the conversion specifying means.The output image after the conversion is output to a storage medium14009 in the same memory region or to a display device 14011.

Image-pickup of the entire surrounding area can be carried out byutilizing this mechanism.

FIG. 14 is a conceptual diagram illustrating a configuration of asurrounding-area display system using the configuration of the imageconverting system of FIG. 13 equipped with a plurality of the imageconverting devices.

In the surrounding-area display system, the image-pickup means 14001 to14004 are disposed so as to scan the four surrounding areas. The imagesobtained from these image-pickup means 14001 to 14004 are subjected tolook-down conversion, and images 15001 to 15004 obtained therefrom arecombined and displayed as one image.

In order to realize this system, the conversion specifying means 14012of the image-pickup means 14004 at the rear of a vehicle is providedwith an instruction which generates two images at the same time from thesame input. Instructions which generate images of the image-pickup means14001 to 14004 by the other conversion specifying means 14009 to 14012are provided. Synchronization of the output images is realized byproviding the conversion specifying means with interrupt instructions.The output destinations of the output images are specified to avideo-image display means or the image region, thereby realizing thepresent system.

When a plurality of image converting means are used in this manner, morevariable conversions can be realized at a high speed, and thepossibility of various applications is expanded.

In the foregoing, the invention made by the inventors of the presentinvention has been concretely described based on the embodiments.However, it is needless to say that the present invention is not limitedto the foregoing embodiments and various modifications and alterationscan be made within the scope of the present invention.

The above-described conversion specifications based on the trianglepatches are examples, and the conversion specifications are not limitedthereto. As another applicable example, a map describing all of thecorrespondence between the image coordinates of input images and theimage coordinates of output images is conceivable as another realizationmeans.

The present invention presupposes utilization in image converting meanswhich carries out correction with respect to an input image and obtainsan output image and in application fields thereof. However, the presentinvention is not limited thereto, but can be implemented also in adisplay device having a circuit which carries out contrast adjustment,noise reduction processes, and the processes thereof as described in thebody of the specification.

What is claimed is:
 1. An image converting system comprising two or more image converting devices, each of the image converting devices including an image input device, an image converter, and a line memory, wherein the two or more image converting devices output conversion results to a storage medium common to each other while synchronizing with each other, wherein each of the image converting devices further comprises a conversion specifier that describes correspondence between one region of input image data obtained by the image input device and one region of converted image data output by the image converter using triangle patches, wherein two or more of the triangle patches of an input side have a fixed vertical size and a base that is arranged along a horizontal line of the line memory so as to form a strip-like shape, and wherein two or more of the triangle patches of the converted image data have variable shapes.
 2. An image converting system comprising two or more image converting devices, each of the image converting devices including an image input device, an image converter, and a line memory, wherein the image converting system further includes a video-image display, wherein the two or more image converting devices output conversion results to the video-image display while synchronizing with each other, wherein each of the image converting devices further comprises a conversion specifier that describes correspondence between one region of input image data obtained by the image input device and one region of converted image data output by the image converter using triangle patches, wherein two or more of the triangle patches of an input side have a fixed vertical size and a base that is arranged along a horizontal line of the line memory so as to form a strip-like shape, and wherein two or more of the triangle patches of the converted image data have variable shapes. 